# Hold a value until it is acknowledged

One method of using Enter key handshaking is to hold the value at the data source until the data source notifies the application that the value has been read. To do this, specify the Enter key handshake time and a Handshake reset type. Enter key control delay is optional.

## To hold a value at the data source until it is acknowledged by the data source

1. In the Timing tab, specify the Enter key handshake time, the Handshake reset type, and, optionally, the Enter key control delay.
2. In the Connections tab, assign a tag to the Enter connection, and a tag or expression to the Enter handshake connection. A digital tag is recommended for the Enter connection.
3. Set up the data source to send a non-zero value to the Enter handshake connection when it has read the Value connection, and then to reset the Enter handshake connection to 0.

## How this type of handshaking works

- When the user presses the Enter key, the value is sent to the Value connection.
- If you specified a time for the Enter key control delay, the delay timer begins timing. When the time is up, the Enter connection is set to 1. If you did not specify a time for the Enter key control delay, the Enter connection is set to 1 as soon as the user presses the Enter key.

  As long as the Enter connection is set to 1, the user cannot send new values to the Value connection.

- When the Enter connection is set to 1, the Enter key handshake timer begins timing. The Enter connection remains set until the "Enter key handshake time" expires, or until it is reset by the Enter Handshake connection, whichever happens first.
- The data source informs the terminal that a value has been received by changing the Enter handshake connection from 0 to some non-zero value. This triggers the handshake reset, and resets the Enter connection to 0. The operator can now send new values to the Value connection.

## How the "Handshake reset type" works

How the Enter Handshake connection resets the Enter connection depends on which Handshake reset type you select:

Non-zero value resets the Enter connection from 1 to 0 when the Enter Handshake connection has a non-zero value.

Tip: | If the "Handshake reset type" is "Non-zero value," the Enter handshake connection must be 0 when the "Enter key control delay" expires to set the Enter connection to 1. If the Enter handshake connection already has a non-zero value, the assumption is that the Enter connection is still set to 1 from a previous event. Then the Enter connection is not set to 1 and Enter key handshaking does not happen.

Zero to non-zero transition resets the Enter connection when the Enter Handshake connection changes from 0 to a non-zero value.

In either case, if the "Enter key handshake time" expires before the Enter Handshake connection resets the Enter connection, the Enter connection is reset to 0 and the application reports an error to diagnostics.

## See also

How Enter key handshaking works at run time

Hold a value for a specified length of time

Causes of run-time errors for Enter key handshaking